home *** CD-ROM | disk | FTP | other *** search
/ Run Magazine ReRun 1984 Half 1 / rerun-1984-01-06-side-b.d64 / functkey feb p70 (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  2KB  |  73 lines

  1. 100 t = peek(55) + 256*peek(56)
  2. 110 poke 56, peek(46)+2
  3. 120 poke 52, peek(56)
  4. 130 print "[147]function keys":print
  5. 200 dim f$(12)
  6. 210 f$(1) = "list "
  7. 220 f$(2) = "load"+chr$(34)
  8. 230 f$(3) = "run"
  9. 240 f$(4) = "save"+chr$(34)+"@:"
  10. 250 f$(5) = "print peek(     )[157][157][157][157][157][157]"
  11. 260 f$(6) = "open 15,8,15,"+chr$(34)
  12. 270 f$(7) = "print fre(0)"
  13. 280 f$(8) = "close 15"
  14. 290 f$(9) = "goto "
  15. 300 f$(10) = "gosub "
  16. 310 f$(11) = "return"
  17. 320 f$(12) = "poke "
  18. 330 for i = 1 to 12
  19. 340 print "f" + right$(str$(i),len(str$(i))-1) + " = ";
  20. 345 print chr$(34) + f$(i) + chr$(34)
  21. 350 next i
  22. 400 l = 0
  23. 410 for i = 1 to 12
  24. 420 l = l + len(f$(i))
  25. 430 next i
  26. 435 if l > 231 then print "strings too long": goto 800
  27. 440 sm = t - 120
  28. 450 ss = t - l - 144
  29. 500 pp = ss: sp = ss + 12
  30. 510 for i = 1 to 7 step 2: gosub 1000: next i
  31. 520 for i = 2 to 8 step 2: gosub 1000: next i
  32. 530 for i = 9 to 12: gosub 1000: next i
  33. 600 for i = sm to sm+119
  34. 610 read b
  35. 611 su = su + b
  36. 612 c = c + 1
  37. 613 if c<>19 and i<>(sm+119) then 620
  38. 614 read ch
  39. 615 if ch = su then c=0: su=0: goto 620
  40. 616 print: print "data statement error"
  41. 617 print "in line"; peek(63) + 256*peek(64)
  42. 618 goto 800
  43. 620 poke i, b
  44. 630 next i
  45. 700 poke 2, sm/256
  46. 710 poke 1, sm-256*peek(2)
  47. 720 poke 252, ss/256
  48. 730 poke 251, ss-256*peek(252)
  49. 740 poke 649, 9
  50. 750 poke 55, peek(251): poke 56, peek(252)
  51. 760 poke 51, peek(251): poke 52, peek(252)
  52. 770 sys 0
  53. 780 new
  54. 800 poke 56, t/256
  55. 810 poke 55, t - 256*peek(56)
  56. 820 end
  57. 1000 poke pp, sp-ss: pp = pp+1
  58. 1005 if f$(i) = "" then 1060
  59. 1010 for j = 1 to len(f$(i))
  60. 1030 poke sp, asc(mid$(f$(i),j,1))
  61. 1040 sp = sp+1
  62. 1050 next j
  63. 1060 poke sp, 0
  64. 1070 sp = sp + 1
  65. 1080 return
  66. 9000 data120,165,2,141,21,3,165,1,24,105,21,144,3,238,21,3,141,20,3,1341
  67. 9010 data88,96,165,198,208,92,165,254,240,9,169,0,133,254,164,253,24,144,56,2712
  68. 9020 data162,3,169,63,197,197,240,13,56,233,8,202,16,246,169,255,141,128,2,2500
  69. 9030 data48,58,134,253,162,0,173,141,2,201,1,208,2,162,4,201,2,208,2,1962
  70. 9040 data162,8,138,24,101,253,205,128,2,240,30,141,128,2,168,177,251,168,162,2488
  71. 9050 data0,177,251,240,17,157,119,2,200,232,134,198,224,9,208,241,132,253,169,2963
  72. 9060 data1,133,254,76,191,234,889
  73.